Broadband - Trouble Ticket API - TMF621
API Data Dictionary - POST troubleTicket
This section defines the key fields used in the TMF621 Trouble Ticket API. Attributes listed here may appear in request or response payloads depending on the operation. Fields are derived from TMF621 v5.0.0 and follow TMF630 REST design principles.
API request payload
POST /troubleTicket
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| HTTP Header Name | Correlation-ID | c97ded75-44fa-4b69-9f3b-01d513a41efe | A GUID to relate requests belonging to the same transaction |
| Payload First Class Attribute | description | No dial tone on customer line | A String. Description of the trouble or issue. Mandatory. |
| Payload First Class Attribute | name | Voice QOS, faint calls | A short description provided by the user that create the ticket |
| Payload First Class Attribute | ticketType | fault | Indicates category of issue. To be set to fault. Mandatory. |
| Payload First Class Attribute | severity | High | The severity of the issue, as per partners' definition. Mandatory. |
| Payload First Class Attribute | dateFirstFound | 2025-01-02T09:00:00Z | Mandatory. Represents when the fault occurred for the first time. |
| Payload First Class Attribute | twentyFourHourAccess | true | Mandatory. Defines whether the EU will be available 24 hour in the event an appointment is required. |
| Payload First Class Attribute | earliestNextAccessDateTime | 2025-01-02T09:00:00Z | Conditional, mandatory if twentyFourHourAccess is false. |
| Payload First Class Attribute | latestAccessDateTime | 2025-01-01T17:00:00Z | Conditional, mandatory if twentyFourHourAccess is false. |
| Payload First Class Attribute | troubleTicketCharacteristic | See troubleTicketCharacteristic table | An array of Characteristic objects, defined by TMF pattern. |
| Payload First Class Attribute | attachment | See attachment table | An array of AttachmentRefOrValue. Optional file evidence; 1 allowed per submission. |
| Payload First Class Attribute | note | See note table | Array of Note objects (inline). Free-text notes from partners, suppliers, end users and PXC agents. |
| Payload First Class Attribute | relatedEntity | See relatedEntity table | References the product, service, or billing account affected by the fault. |
| Payload First Class Object | troubleTicketSpecification | See troubleTicketSpecification table | A reference to a predefined classification of the trouble ticket. |
| Payload First Class Attribute | relatedParty | See relatedParty table | Identifies the people or organizations involved with the ticket. |
| Payload First Class Attribute | troubleTicketRelationship | See troubleTicketRelationship table | Relates the current trouble ticket to other tickets (e.g., parent, duplicateOf). |
| Payload First Class Attribute | externalIdentifier | See externalIdentifier table | Partner reference ID, mapped to TMF621 externalIdentifier array. |
| Payload First Class Object | appointment | See appointment table | Reference to TMF646 appointment (id, href, description). |
| TMF metadata | @type | PartnerTroubleTicket | Subclass indicator for TroubleTicket extension. Mandatory. |
| TMF metadata | @baseType | TroubleTicket | Core resource type. Mandatory. |
| TMF metadata | @schemaLocation | https://.../schema/PartnerTroubleTicket.json | Defines schema for extended attributes. |
troubleTicketCharacteristic Values Table
| Voice-TLOS | Voice-Number-Presentation | Voice-QOS | Voice-Inbound-Partial-Loss | Voice-Outbound-Partial-Loss | Voice-Destination | Voice-Select-Service | Voice-Voicemail-Service | Broadband-Connection | Broadband-Network-Authentication | Broadband-Slow-Speeds | Broadband-Browsing | NGN-Connection | General-Query | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| faultType | N/a | N/a | Faint Calls, Over-hearing, Calls Cutting Off, Broken Dial Tone, Speech Clipping, Ring Trip, Noisy Line | Inbound | Outbound | International, National, Local, NGN, Mobile | Call Waiting, Caller Display, Call Divert, Anonymous Call Reject, Withheld Number, Call Carring, Last Caller Barring, 1471, 141, 1473, 1475, 1470 | Voicemail | Loss of Service, Intermittent Connection | Username and password failure, Dropping Authentication, Unable to Authenticate | Service Quality | All Sites, Site Specific | Total Outage, Partial Loss, QOS | N/a |
| detailedFaultType | N/a | N/a | N/a | Porting, Other | Broken Dial Tone, Speech Clipping, No Dial Tone | Engaged Tone, Interrupted Dial Tone, Network Messages, Number Unobtainable, Dead Air, Other | N/a | Standard, Plus | N/a | N/a | N/a | N/a | N/a | N/a |
| allCPEChecksComplete | true, false | N/a | true, false | true, false | true, false | true, false | true, false | true, false | true, false | true, false | true, false | true, false | N/a | N/a |
| frequency | N/a | N/a | Permanent, Intermittent | Permanent, Intermittent | Permanent, Intermittent | Permanent, Intermittent | Permanent, Intermittent | Permanent, Intermittent | Permanent, Intermittent | Permanent, Intermittent | Permanent, Intermittent | Permanent, Intermittent | N/a | N/a |
| examplesWhenFaultOccurs | N/a | N/a | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}}(Mandatory if 'frequency' is Intermittent) | {{Provided Examples}} | N/a | N/a |
| numberDialled | N/a | N/a | {{Number Dialled}} | N/a | N/a | {{Number Dialled}} | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a |
| traceRouteResults | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | {{Results}} | {{Results}} | N/a | N/a |
| fTPOrWebsiteAddress | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | {{Impacted FTP or Web Address}} | N/a | N/a |
| destinationCountry | N/a | N/a | N/a | N/a | N/a | {{Country Name(s)}} | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a |
| haveRadiusLogsBeenChecked | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | N/a | true, false | true, false | N/a | N/a | N/a |
| safetyNote | {{Safety Related Notes}} | {{Safety Related Notes}} | {{Safety Related Notes}} | {{Safety Related Notes}} | {{Safety Related Notes}} | N/a | N/a | N/a | {{Safety Related Notes}} | N/a | {{Safety Related Notes}} | N/a | N/a | N/a |
| authoriseEngineerEffort | true, false | true, false | true, false | true, false | true, false | N/a | N/a | N/a | true, false | N/a | true, false | N/a | N/a | N/a |
TroubleTicketCharacteristics must be filled in consistently with the specification selected. troubleTicketCharacteristic objects must align with the structure and constraints defined by the associated troubleTicketSpecification. Required fields, cardinality, and data types are all governed by that definition. Values must adhere to any regex, allowedValues, or min/max cardinality constraints defined at the specification level.
troubleTicketCharacteristic
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| Payload Second Class Attribute | id | faultType | Trouble Ticket Characteristic identifier. Mandatory in response messages |
| Payload Second Class Attribute | name | faultType | Mandatory - Name of the characteristic (e.g., faultType, frequency). |
| Payload Second Class Attribute | value | No Sync | Mandatory - Value associated with the name; can be string, boolean, etc. |
| Payload Second Class Attribute | valueType | string | Mandatory - Data type of the value (e.g., string, boolean) |
| TMF metadata | @type | StringCharacteristic | Mandatory - Indicates the type of characteristic. (e.g. StringCharacteristic, BooleanCharacteristic). |
Attachment Table
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| Payload Second Class Attribute | description | Speed Test screenshot showing the slow speeds | Optional - Free-text description of the file. |
| Payload Second Class Attribute | attachmentType | Screenshot | Mandatory - Classifies the attachment purpose (e.g., "photo", “video”, "screenshot", "log"). |
| Payload Second Class Attribute | mimeType | image/png | Mandatory - MIME type such as image/png, application/pdf. Allowed mimeTypes are restricted to any documents, videos and images. |
| Payload Second Class Attribute | name | 20260525_SpeedTest | Mandatory - Filename (display name) of the attachment. |
| Payload Second Class Attribute | content | iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAIAAAD7GkWBAA | Mandatory - Base64-encoded content of the file. |
| TMF metadata | @type | Attachment | Mandatory - Indicates the type of characteristic. |
Note Table
"note" is an array that captures interactions between actors such as the Partner, End User, PXC Agent and Supplier. Each new note is appended to the existing array of notes. Only one note may be included per operation (e.g., POST or PATCH).
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| Payload Second Class Attribute | id | ABC123 | Note identifier. Mandatory in response messages. |
| Payload Second Class Attribute | source | Partner | Mandatory - Name or type of note author (e.g., endUser, pxcAgent). Mandatory. (Allowed in POST and PATCH: partner, endUser) (Additionally visible in GET: pxcAgent, supplier). |
| Payload Second Class Attribute | author | Andy Kirk-Kelly | Optional - Author of note. |
| Payload Second Class Attribute | text | Issue persists during evenings | Mandatory - The note Content. |
| Payload Second Class Attribute | date | 2026-05-27T10:33:00Z | Mandatory - Timestamp of when the note was created. |
| TMF metadata | @type | PartnerNote | Mandatory - Standard TMF class type for a note. |
| TMF metadata | @baseType | Note | Mandatory - Standard TMF class type for a note. |
relatedEntity Table
The relatedEntity array identifies the product, service, or billing account affected by the fault, using role-based references. Note: Each ticket must include one affectedEntity (product or service) and one relatedAccount (billing account), allowing the backend to validate ownership and link the ticket to the correct asset.
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| Payload Second Class Attribute | role | affectedEntity | Mandatory - Describes the role this entity plays (e.g., affectedEntity, relatedAccount). |
| TMF metadata | @type (Outer Object) | RelatedEntity | Mandatory - TMF object type for the RelatedEntity wrapper. |
| Payload Third Class Attribute | entity.id | SOGEAXXXX, APIXXXXXXX, 01612220161, 00000000 | Mandatory - ID of the referenced object (e.g., product, service, billing account). |
| Payload Third Class Attribute | entity.href | https://.../SOGEAXXXX | Optional - URI of the referenced object. |
| TMF metadata | entity.@type | EntityRef | Mandatory - Denotes that the embedded object is a reference. |
| TMF metadata | entity.@referredType | Service | Mandatory - Identifies the type of the referenced entity (e.g., Product, Service, BillingAccount). |
troubleTicketSpecification Table
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| Payload First Class Attribute | id | Voice-TLOS, Voice-Number-Presentation, Voice-QOS, Voice-Inbound-Partial-Loss, Voice-Outbound-Partial-Loss, Voice-Destination, Voice-Select-Service, Voice-Voicemail-Service, Broadband-Connection, Broadband-Network-Authentication, Broadband-Slow-Speeds, Broadband-Browsing, NGN-Connection, General-Query | Mandatory - Trouble Ticket Specification Id |
| TMF metadata | @type | TroubleTicketSpecificationRef | Mandatory - TMF object type for the TroubleTicketSpecificationRef wrapper. |
relatedParty Table
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| Payload Second Class Attribute | role | reportingParty | Mandatory - The role this party plays (e.g., reportingParty, endUser). |
| Payload Third Class Attribute | partyOrPartyRole.@type | Organization | Mandatory - The actual type of the party (e.g., Organization, Individual). |
| TMF metadata | partyOrPartyRole.@baseType | Organization | Mandatory - Declares that the base type is Party (standard TMF construct). |
| Payload Third Class Attribute | partyOrPartyRole.tradingName | {{Company Name}} | Trading name of the organization (Mandatory only when @type is Organization). |
| Payload Third Class Attribute | partyOrPartyRole.givenName/familyName | Andy/Kirk-Kelly | Individual’s name fields (Mandatory only when @type is Individual). |
| Payload Third Class Attribute | contactMedium[].contactType | Primary/Secondary | Mandatory - Indicates if this contact method is primary or fallback. Secondary contact mediums are optional. Primary ones are Mandatory. |
| Payload Third Class Attribute | contactMedium[].phoneNumber | +440000000000 | Mandatory - Telephone number. Primary Mandatory, Secondary Optional. |
| Payload Third Class Attribute | contactMedium[].emailAddress | akk@platformx.co.uk | Mandatory - Primary or Optional - Secondary email address. |
| TMF metadata | contactMedium[].@type | PhoneContactMedium / EmailContactMedium | Mandatory - Extended class to ContactMedium. |
| TMF metadata | contactMedium[].@baseType | ContactMedium | Mandatory - Declares that the base type is ContactMedium (Extension to standard TMF relatedParty construct). |
troubleTicketRelationship Table
The troubleTicketRelationship attribute allows linking a ticket to other related tickets (e.g., parent, child, duplicateOf) to support lifecycle tracking and dependency management. The relationshipType field defines the direction and nature of the relationship between the current trouble ticket and another one.
For example, if relationshipType is set to "parent", then the referenced ticket ID in troubleTicketRelationship.id is the parent of the ticket being retrieved via GET /troubleTicket/{id}. This applies consistently to all relationship types . The value of relationshipType always describes the role of the related ticket from the perspective of the ticket being returned.
Note: Partners will not be permitted to POST this field for now; relationships will be calculated by the backend and returned in responses when relevant.
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| Payload First Class Attribute | troubleTicketRelationship | Array of links to other tickets (e.g., duplicates, parents). | |
| Payload Second Class Attribute | troubleTicketRelationship[].id | INCXXXXXXXXXXXX | Mandatory - ID of the related trouble ticket. |
| Payload Second Class Attribute | troubleTicketRelationship[].href | https://.../troubleTicket/INCXXXXXXXXXXXX | URI to retrieve the related ticket. |
| Payload Second Class Attribute | troubleTicketRelationship[].relationshipType | duplicateOf | Mandatory - The type of relationship being described. (e.g., duplicateOf, parent and child). |
| Payload Second Class Attribute | troubleTicketRelationship[].role | MSO | Optional - Clarifies this ticket's role in the relationship. |
| TMF metadata | troubleTicketRelationship[].@type | TroubleTicketRelationship | Mandatory - TMF type indicator used for relationship. |
externalIdentifier Table
The externalIdentifier array allows tracking references associated with the ticket, such as those used by partners and suppliers.
Note: Partners are encouraged to provide a partnerRef on ticket creation; a supplierRef will be assigned by the backend and shared in responses where applicable.
| Section | Field Name | Example Field Value | Description | |
|---|---|---|---|---|
| Payload First Class Attribute | externalIdentifier | Array of identifiers from external systems (e.g., supplierRef, partnerRef). | ||
| Payload Second Class Attribute | externalIdentifier[].id | 4-123456789101 | Mandatory - ID value used by the external system. | |
| Payload Second Class Attribute | externalIdentifier[].externalIdentifierType | supplierRef | Mandatory - Type of external ID (e.g., supplierRef, partnerRef). | |
| Payload Second Class Attribute | externalIdentifier[].owner | {{SupplierOwnerName}} | Mandatory - Name of the external system that owns this reference. | |
| TMF metadata | externalIdentifier[].@type | ExternalIdentifier | Mandatory - Type discriminator used for TMF polymorphism. |
Appointment Table
The appointment.id value used in the appointment object (e.g., in POST /troubleTicket or PATCH /troubleTicket/{id}) must be a valid appointment reference issued by PXC via the /appointment API. Partners must ensure they only reference appointments previously retrieved or booked through the appointing interface.
| Section | Field Name | Example Field Value | Description |
|---|---|---|---|
| Payload First Class Attribute | appointment | Mandatory - Extension to vanilla TMF621. First-class attribute referencing an appointment object. | |
| Payload Second Class Attribute | appointment.id | AppXXX | Mandatory - ID of the referenced appointment (from TMF646). |
| Payload Second Class Attribute | appointment.href | https://api.wholesale.pxc.co.uk/partners/troubleTicket/v1/troubleTicket/appointment/AppXXX | Mandatory - URI to retrieve full appointment details. |
| TMF metadata | appointment.@type | AppointmentRef | Mandatory - Polymorphic object type (e.g., AppointmentRef). |
Example POST createTroubleTicket payload:
{
"description":"Voice QOS, unable to authenticate issue reported by customer. Customer reports bad service when calling.",
"name":"Voice QOS, faint calls",
"ticketType":"Fault",
"severity":"High",
"dateFirstFound":"2025-02-25T00:00:00Z",
"twentyFourHourAccess":true,
"troubleTicketCharacteristic":[
{
"name":"faultType",
"value":"Faint calls",
"valueType":"string",
"@type":"StringCharacteristic"
},
{
"name":"frequency",
"value":"Intermittent",
"valueType":"string",
"@type":"StringCharacteristic"
},
{
"name":"examplesWhenFaultOccurs",
"value":"Every Tuesday evening at 9 PM",
"valueType":"string",
"@type":"StringCharacteristic"
},
{
"name":"allCPEChecksComplete",
"value":true,
"valueType":"boolean",
"@type":"BooleanCharacteristic"
},
{
"name":"numberDialled",
"value":"016-1234-567-89",
"valueType":"string",
"@type":"StringCharacteristic"
},
{
"name":"authorizeEngineerEffort",
"value":false,
"valueType":"boolean",
"@type":"BooleanCharacteristic"
},
{
"name":"safetyNote",
"text":"Beware the dog in the front garden",
"valueType":"string",
"@type":"StringCharacteristic"
}
],
"attachment":[
{
"description":"Speed test screenshot attached for more information.",
"attachmentType":"screenshot",
"mimeType":"image/png",
"name":"Speed_test_image",
"content":"iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAIAAAD7GkWBAA",
"@type":"Attachment"
}
],
"note":[
{
"text":"This is very urgent, please sort this out as soon as possible",
"author":"Jane Smith",
"source":"endUser",
"@type":"PartnerNote",
"@baseType":"Note"
}
],
"relatedEntity":[
{
"role":"affectedEntity",
"@type":"RelatedEntity",
"entity":{
"id":"SOGEA777",
"@type":"EntityRef",
"@referredType":"Service"
}
},
{
"role":"relatedAccount",
"@type":"RelatedEntity",
"entity":{
"id":"XX788956566",
"@type":"EntityRef",
"@referredType":"BillingAccount"
}
}
],
"troubleTicketSpecification":{
"id":"Voice-QOS",
"@type":"TroubleTicketSpecificationRef"
},
"relatedParty":[
{
"role":"reportingParty",
"partyOrPartyRole":{
"@type":"Organization",
"@baseType":"Party",
"tradingName":"<CompanyName>",
"contactMedium":[
{
"contactType":"primary",
"phoneNumber":"+4412345",
"@type":"PhoneContactMedium",
"@baseType":"ContactMedium"
},
{
"contactType":"primary",
"emailAddress":"john.doe@<example>.com",
"@type":"EmailContactMedium",
"@baseType":"ContactMedium"
},
{
"contactType":"secondary",
"emailAddress":"support@<example>.co.uk",
"@type":"EmailContactMedium",
"@baseType":"ContactMedium"
}
]
},
"@type":"RelatedPartyOrPartyRole"
},
{
"role":"endUser",
"partyOrPartyRole":{
"@type":"Individual",
"@baseType":"Party",
"givenName":"Jane",
"familyName":"Smith",
"contactMedium":[
{
"contactType":"primary",
"phoneNumber":"+449876543210",
"@type":"PhoneContactMedium",
"@baseType":"ContactMedium"
},
{
"contactType":"primary",
"emailAddress":"Jane.smith@<example>.com",
"@type":"EmailContactMedium",
"@baseType":"ContactMedium"
}
]
},
"@type":"RelatedPartyOrPartyRole"
}
],
"externalIdentifier":[
{
"id":"PART123456",
"owner":"<PartnerOwnerName>",
"externalIdentifierType":"partnerRef",
"@type":"ExternalIdentifier"
}
],
"appointment":{
"id":"APP67789",
"@type":"AppointmentRef"
},
"@type":"PartnerTroubleTicket",
"@baseType":"TroubleTicket"
}Response Shaping (fields parameter)
The TMF standard defines a fields query parameter to allow clients to limit which fields are included in API responses. However, this parameter is currently not fully supported in the implementation of the Trouble Ticket API.
- Any use of fields in the request of POST /troubleTicket will be ignored.
- A default list of attributes will be returned in the response, with href to get the full ticket, if required.